//:C09:Stack4_2Test.cpp
// {T} Stack4_2Test.cpp
#include "Stack4_2.h"
#include "../require.h"
#include <fstream>
#include <iostream>
#include <string>
using namespace std;

int main(int argc, char* argv[])
{
    require(argc, 1);   // File name
    ifstream in(argv[1]);
    assure(in, argv[1]);
    Stack textlines;
    string line;
    // Reset file and store lines in the stack:
    while(getline(in, line))
    {
        textlines.push(new string(line));
    }
    // Pop the lines from the stack and print them:
    string *s;
    while((s = (string*)textlines.pop()) != 0)
    {
        cout << *s << '\n';
        delete s;
    }
}